package com.wpre.blogsystem.common.pojo.response;

import com.fasterxml.jackson.annotation.JsonFormat;
import lombok.Data;

import java.util.Date;

/**
 * Created with IntelliJ IDEA.
 * Description:给前端展示列表信息,只文章前部分内容,并不是全部
 * User: LianBao
 * Date: 2024-12-05
 * Time: 14:07
 */
@Data
public class BlogInfoResponseSimple {
    //给前端展示列表信息,只文章前部分内容,并不是全部
    private Integer id;
    private String title;
    private String content;
    //    private Integer userId;
    //设置时间的格式:  2024-12-04 13:11:35
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
    private Date createTime;

    //如果文章内容为空,返回"",如果不为空,返回前10个字
    public String getContent() {
        //内容裁断
        String ret =
                content
                        .replaceAll("\\*+", " ") // 替换*字符
                        .replaceAll("_+", " ")   // 替换_字符
                        .replaceAll("\\[.*?\\]", " ") // 替换[]内的链接文本
                        .replaceAll("\\(.*?\\)", " ") // 替换()内的URL
                        .replaceAll("#+\\s", " ") // 替换#标题
                        .replaceAll("-", " ") // 替换-列表项标记
                        .replaceAll("\\+", " ") // 替换+列表项标记
                        .replaceAll("\\d+\\.", " ") // 替换数字列表项标记
                        .replaceAll(">", " ") // 替换>引用标记
                        .replaceAll("`+", " "); // 替换``代码标记


        if (ret.length() < 10) {
            ret = ret + "..........";
        }

        return ret.substring(0, 10) + ".......";
//        return content == null ? "" : content.substring(0, 10) + ".......";
    }

}